1. Field of the Invention
The present invention relates generally to the field of estimating device availability, and more specifically to estimating device availability in a pervasive peer-to-peer environment.
2. Description of the Related Art
In a pervasive computing environment, vast numbers of computing devices can collaborate to provide computing services to users. These devices span the full spectrum from powerful servers to tiny battery-powered embedded gadgets, and can include specialized tiny wireless sensors for tracking human activity, customized remote controls, PDAs, wireless phones, digital cameras, picture frames, large screen displays, and general purpose computers such as laptops and servers. Communication channels for these devices range from multi-gigabit backbones to low bandwidth wireless connections. Since many devices are mobile, and are regularly deactivated to conserve power, the communication topology is very dynamic. In other words, communication channels between devices can change rapidly in a typical environment. As a result of this heterogeneity and dynamism, devices often communicate in an ad-hoc, peer-to-peer manner. For example, a palm device may communicate wirelessly to a laptop computer, and via a wired connection to a desktop computer.
A particularly beneficial aspect of a multiple device, pervasive peer-to-peer environment is the ability to rely on other resources as rapidly as possible, or to share processing between devices. Such sharing of resources can enable faster processing and more efficient throughput for all devices in the arrangement. If devices in the peer-to-peer arrangement do not have information regarding the availability of other devices, each device cannot effectively or efficiently use other devices. For example, an active PDA having wireless capability cannot utilize the resources of a nearby active desktop computer having wireless capability if the PDA does not have information regarding the desktop.
Currently available devices generally do not provide indications on the availability of other devices. Since a pervasive peer-to-peer environment does not rely on a central server to coordinate or monitor communications or connections, individual devices are limited in locating other devices that are or may be available, and may have an ad-hoc set of information regarding availability of nearby or available devices.
One way of assessing device availability is to regularly probe the other devices, or to probe the target device before initiating useful communication. This alternative has two disadvantages. First, if most of the devices are not available to a certain node, that node may spend too much time and too many resources probing potential target devices before finding an accessible device, and thus reduce system performance. In slow networks, the amount of time spent may not provide acceptable levels of performance. Second, probing consumes a non-insignificant quantity of communication resources, which again may reduce system performance.
Another alternative is to maintain device compatibility or availability on a central server and provide the information at regular intervals to the nodes. As may be appreciated, this requires significant bandwidth and depending on the time for obtaining and transmitting updated availability information, may provide outdated information to the nodes, which is generally unacceptable. Further, when maintaining availability information on a central server, the server and a client node may not have access to the same communication interface. For example, if a central server can reach a node A through a wired connection, another node B, having only a wireless connection, may not be able to reach A. So information maintained on the central server about A's availability may be misleading to B.
Also, the need for network traffic tends to decrease battery life in small devices, and is therefore generally undesirable. Any system that minimizes contact between devices can extend battery life in certain devices and can enhance the overall capability of the entire device network.
Based on the foregoing, it would be advantageous to offer an arrangement enabling devices in a pervasive peer-to-peer environment in order to assess the availability of other devices in the environment.